from typing import Any


def main(data: Any) -> dict:
    """
    从复杂数据结构中安全提取第一个URL（优化版）

    :param data: 支持 dict/list/str 的任意数据结构
    :return: 包含提取到的第一个URL的字典 {"result": url}，如果未找到则返回 {"result": ""}
    """

    # 定义一个辅助函数来检查是否为URL
    def is_url(s: str) -> bool:
        if not s or not isinstance(s, str):
            return False
        # 简单的URL判断：以http://或https://开头，或者包含www.
        return s.startswith('http://') or s.startswith('https://') or 'www.' in s

    # 如果输入是字符串，直接检查
    if isinstance(data, str):
        if is_url(data):
            return {"result": data}
        return {"result": ""}

    # 如果输入是列表，遍历每个元素
    if isinstance(data, list):
        for item in data:
            result = main(item)  # 递归处理列表中的每个元素
            if result["result"]:
                return result
        return {"result": ""}

    # 如果输入是字典，遍历其值
    if isinstance(data, dict):
        for value in data.values():
            result = main(value)  # 递归处理字典的每个值
            if result["result"]:
                return result
        return {"result": ""}

    # 对于其他类型的数据，返回空字符串
    return {"result": ""}


if __name__ == '__main__':
    json = {
        "images": [
            {
                "url": "https://bizyair-prod.oss-cn-shanghai.aliyuncs.com/outputs%2Fc91e80f6-49f0-4278-b693-e9eac7bb8448_a33375501341d75eebe915ff722391c9_ComfyUI_d099e9f1_00001_.png?OSSAccessKeyId=LTAI5tPza7RAEKed35dCML5U&Expires=1759930345&Signature=HcXFl1Kt5%2B%2BO7dg%2BPzRPW0cAko0%3D"
            }
        ]
    }
    print(main(json))
